Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit 00fa09a3f23f97561122cd31054cfe8a582f5e25


Parents : 147e945
Author : Sudo-Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-01-01T18:01:16-06:00

feat(forwarder): add name input field for new rules and update layout in ForwarderPage

Changes
Diff

diff --git a/meshchatx/src/frontend/components/forwarder/ForwarderPage.vue b/meshchatx/src/frontend/components/forwarder/ForwarderPage.vue
index fd95a91e..d3c5d953 100644
--- a/meshchatx/src/frontend/components/forwarder/ForwarderPage.vue
+++ b/meshchatx/src/frontend/components/forwarder/ForwarderPage.vue
@@ -16,7 +16,18 @@
<!-- Add New Rule -->
<div class="glass-card space-y-4">
<div class="text-lg font-semibold text-gray-900 dark:text-white">{{ $t("forwarder.add_rule") }}</div>
- <div class="grid gap-4 md:grid-cols-2">
+ <div class="grid gap-4 md:grid-cols-3">
+ <div class="space-y-1">
+ <label class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">{{
+ $t("forwarder.name")
+ }}</label>
+ <input
+ v-model="newRule.name"
+ type="text"
+ :placeholder="$t('forwarder.name_placeholder')"
+ class="w-full px-4 py-2 rounded-xl border border-gray-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 text-gray-900 dark:text-white focus:ring-2 focus:ring-blue-500 transition-all outline-none"
+ />
+ </div>
<div class="space-y-1">
<label class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">{{
$t("forwarder.forward_to_hash")
@@ -74,6 +85,9 @@
</div>
<span class="text-xs text-gray-500 dark:text-zinc-400">ID: {{ rule.id }}</span>
</div>
+ <div v-if="rule.name" class="text-base font-semibold text-gray-900 dark:text-white mb-1">
+ {{ rule.name }}
+ </div>
<div class="space-y-1">
<div class="flex items-center gap-2">
<MaterialDesignIcon icon-name="arrow-right" class="w-4 h-4 text-blue-500 shrink-0" />
@@ -131,6 +145,7 @@ export default {
return {
rules: [],
newRule: {
+ name: "",
forward_to_hash: "",
source_filter_hash: "",
is_active: true,
@@ -170,6 +185,7 @@ export default {
rule: { ...this.newRule },
})
);
+ this.newRule.name = "";
this.newRule.forward_to_hash = "";
this.newRule.source_filter_hash = "";
},

diff --git a/meshchatx/src/frontend/components/messages/ConversationViewer.vue b/meshchatx/src/frontend/components/messages/ConversationViewer.vue
index 2d8e45aa..84c0777a 100644
--- a/meshchatx/src/frontend/components/messages/ConversationViewer.vue
+++ b/meshchatx/src/frontend/components/messages/ConversationViewer.vue
@@ -1811,7 +1811,7 @@ export default {
},
{
enableHighAccuracy: true,
- timeout: 5000,
+ timeout: 30000,
maximumAge: 0,
}
);


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────